package srv;

import java.util.List;

import beans.ProveedorBean;
import beans.RodamientoBean;

import dao.HibernateRodamientoBeanDAO;

import entities.ProveedorEntity;
import entities.RodamientoEntity;

public class RodamientoSRV 
{
	private static HibernateRodamientoBeanDAO dao;
	private static RodamientoSRV instancia;
	
	static {
			dao = HibernateRodamientoBeanDAO.getInstancia();
			}
	
	public static RodamientoSRV getInstancia()
	{
		if (instancia == null)
		{
			instancia = new RodamientoSRV();
		}
		return instancia;
	}
	
	public RodamientoEntity pasadoDesdeBean( RodamientoBean rodamientoBean )
	{
		RodamientoEntity rodamiento = new RodamientoEntity();
		rodamiento.setCantStock( rodamientoBean.getCantStock());
		rodamiento.setCaracteristica( rodamientoBean.getCaracteristica());
		rodamiento.setCodigoSkf( rodamientoBean.getCodigoSkf());
		rodamiento.setId( rodamientoBean.getId());
		rodamiento.setMarca( rodamientoBean.getMarca());
		rodamiento.setMedida( rodamientoBean.getMedida());
		rodamiento.setOrigen( rodamientoBean.getOrigen());
		rodamiento.setTipo( rodamientoBean.getTipo());
		
		return rodamiento;
	}
	
	public RodamientoBean pasadoDesdeEntity ( RodamientoEntity rodamientoEntity )
	{
		RodamientoBean rodamiento = new RodamientoBean();
		rodamiento.setCantStock( rodamientoEntity.getCantStock());
		rodamiento.setCaracteristica( rodamientoEntity.getCaracteristica());
		rodamiento.setCodigoSkf( rodamientoEntity.getCodigoSkf());
		rodamiento.setId( rodamientoEntity.getId());
		rodamiento.setMarca( rodamientoEntity.getMarca());
		rodamiento.setMedida( rodamientoEntity.getMedida());
		rodamiento.setOrigen( rodamientoEntity.getOrigen());	
		rodamiento.setTipo( rodamientoEntity.getTipo());
		
		return rodamiento;
	}
	
	public void grabarRodamiento( RodamientoBean rodamiento )
	{
		RodamientoEntity r = this.pasadoDesdeBean( rodamiento ); 
		dao.grabarRodamiento( r );
	}
	
	public void eliminarRodamiento( RodamientoBean rodamiento )
	{
		RodamientoEntity r = this.pasadoDesdeBean( rodamiento );
		dao.eliminarRodamiento( r );
	}
	
	public void modificarRodamiento( RodamientoBean rodamiento )
	{
		RodamientoEntity r = this.pasadoDesdeBean( rodamiento );
		dao.modificarRodamiento( r );
	}
	
	public List<RodamientoEntity> buscarEquivalentes( RodamientoEntity r )
	{
		return dao.buscarEquivalentes(r);
	}
	
	public RodamientoBean obtenerRodamientoPorCodigoSKF( String codigoSKF )
	{
		RodamientoEntity rodamiento = dao.obtenerRodamientoPorCodigoSKF(codigoSKF);
		RodamientoBean r = this.pasadoDesdeEntity( rodamiento );
		
		return r;
	}
	
	public int obtenerStockRodamiento( String codSkf )
	{
		int stock = dao.obtenerStockRodamiento(codSkf);
		return stock;
	}
}
